package com.healthcloud.service;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import com.healthcloud.entity.BaseDictListDate;
import com.healthcloud.entity.Dict;

/**
 * Created by xiam on 2015/6/8.
 */
public interface DictService {

	/**
	 * 根据字典类型获取所有字典值, 包括已经逻辑删除的字典
	 * @param type 字典类型
	 * @return
	 */
	List<Dict> findAllByType(String type);

	/**
	 * 根据字典类型获取所有字典值, 不包括逻辑删除的字典
	 * @param type 字典类型
	 * @return
	 */
	List<Dict> findByType(String type);

    /**
     * 根据字典类型获取所有字典值的Map对象
     * @param type
     * @return
     */
    Map<Integer, String> findDictMap(String type);

    /**
     * 保存字典
     * @param dict
     * @return
     */
    Dict save(Dict dict);

    /**
     * 逻辑删除字典
     * @param id 字典主键
     * @return
     */
    int logicDelete(Long id);

    /**
     * 更新字典
     * @param dict 字典
     * @return
     */
    void update(Dict dict);

    /**
     * 根据字典类型和字典值获取字典名称
     * @param type 字典类型
     * @param code 字典值
     * @return
     */
    String getCodeName(String type, Integer code);

    /**
     * 获取字典中属性相关的信息，返回list使用；
     * @param type
     * @return
     */
    ArrayList<BaseDictListDate> getDictListWithType(String type);
}
